//
// Created by DengLibin on 2018/12/11 0011.
//
/**
 * 名称空间
 *
::是运算符中等级最高的，它分为三种:
1)global scope(全局作用域符），用法（::name)
2)class scope(类作用域符），用法(class::name)
3)namespace scope(命名空间作用域符），用法(namespace::name)
 1.如在程序中的某一处你想调用全局变量a，那么就写成::a；（也可以是全局函数）

2.如果想调用class A中的成员变量a，那么就写成A::a；

3.另外一个如果想调用namespace std中的cout成员，你就写成std::cout
 */
#include <iostream>
using namespace std;//标准名称空间

//自定义命名空间
namespace denglb
{
    void my_fun(int i)
    {
        cout << "denglb:" << i << endl;
    }
}
namespace denglb2
{
    void my_fun(int i)
    {
        cout << "denglb2:" << i << endl;
    }
}
//无名称的命名空间,空间中的内容外部不能使用,只能内部使用,很少使用
namespace
{

}
//调用命名空间中的函数
void namespace_fun()
{
    denglb::my_fun(2);
    denglb2::my_fun(3);
}
int main1()
{
    namespace_fun();
    return 0;
}